home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / utildsk / scslst12.lha / scsi_list / source / Scsi_Cmd.h < prev    next >
C/C++ Source or Header  |  1996-02-12  |  4KB  |  97 lines

  1. /*
  2.  *    scsi_cmd.h
  3.  */
  4.  
  5. #include <devices/scsidisk.h> 
  6. #define SCSI_DEVICE "scsi.device"
  7.  
  8. /*------------------------------------------------------------------------*/
  9.  
  10. typedef struct
  11. {
  12.     BYTE    code;
  13.     UBYTE   *ptr;
  14. }   IDTOSTRING;
  15.  
  16. static IDTOSTRING devicetype[] =
  17. {
  18.     0x00, "Direct-access device (e.g., magnetic disk)",
  19.     0x01, "Sequential-access device (e.g., magnetic tape)",
  20.     0x02, "Printer device",
  21.     0x03, "Processor device",
  22.     0x04, "Write-once device (e.g., some optical disks)",
  23.     0x05, "CD-ROM device",
  24.     0x06, "Scanner device",
  25.     0x07, "Optical memory device (e.g., some optical disks)",
  26.     0x08, "Medium Changer device (e.g., jukeboxes)",
  27.     0x09, "Communications device",
  28.     0x0A, "Defined by ASC IT8 (Graphic Arts Pre-Press Devices)",
  29.     0x0B, "Defined by ASC IT8 (Graphic Arts Pre-Press Devices)",
  30.     -1, "",
  31. };
  32.       
  33. static IDTOSTRING responseformat[] =
  34. {
  35.     0x00, "SCSI-1",
  36.     0x01, "CCS",
  37.     0x02, "SCSI-2",
  38.     -1, "",
  39. };
  40.  
  41. /*------------------------------------------------------------------------*/
  42.  
  43. /*  type used for 6 byte SCSI command                                     */
  44.  
  45. typedef struct
  46. {
  47.     UBYTE   opcode;
  48.     UBYTE   b1;
  49.     UBYTE   b2;
  50.     UBYTE   b3;
  51.     UBYTE   b4;
  52.     UBYTE   control;
  53. }   SCSICMD6;
  54.  
  55. /*------------------------------------------------------------------------*/
  56.  
  57. /* SCSI commands */
  58.  
  59. #define    SCSI_CMD_TUR            0x00    /* Test Unit Ready              */
  60. #define    SCSI_CMD_RZU            0x01    /* Rezero Unit                  */
  61. #define    SCSI_CMD_RQS            0x03    /* Request Sense              */
  62. #define    SCSI_CMD_FMU            0x04    /* Format unit                  */
  63. #define    SCSI_CMD_RAB            0x07    /* Reassign Block              */
  64. #define    SCSI_CMD_RD                0x08    /* Read                          */
  65. #define    SCSI_CMD_WR                0x0A    /* Write                      */
  66. #define    SCSI_CMD_SK                0x0B    /* Seek                          */
  67. #define    SCSI_CMD_INQ            0x12    /*  6B: Inquiry                  */
  68. #define    SCSI_CMD_MSL            0x15    /* Mode Select                  */
  69. #define    SCSI_CMD_RU                0x16    /* Reserve Unit                  */
  70. #define    SCSI_CMD_RLU            0x17    /* Release Unit                  */
  71. #define    SCSI_CMD_MSE            0x1A    /*  6B: Mode Sense              */
  72. #define    SCSI_CMD_SSU            0x1B    /*  6B: Start/Stop Unit          */
  73. #define    SCSI_CMD_RDI            0x1C    /* Receive Diagnostic          */
  74. #define    SCSI_CMD_SDI            0x1D    /* Send Diagnostic              */
  75. #define    SCSI_CMD_RCP            0x25    /* Read Capacity              */
  76. #define    SCSI_CMD_RXT            0x28    /* Read Extended              */
  77. #define    SCSI_CMD_WXT            0x2A    /* Write Extended              */
  78. #define    SCSI_CMD_SKX            0x2B    /* Seek Extended              */
  79. #define    SCSI_CMD_WVF            0x2E    /* Write & Verify              */
  80. #define    SCSI_CMD_VF                0x2F    /* Verify                      */
  81. #define    SCSI_CMD_RDD            0x37    /* Read Defect Data              */
  82. #define    SCSI_CMD_WDB            0x3B    /* Write Data Buffer          */
  83. #define    SCSI_CMD_RDB            0x3C    /* Read Data Buffer              */
  84. #define SCSI_CMD_COPY            0x18    /*  6B: Copy                  */
  85. #define SCSI_CMD_COMPARE        0x39    /* 10B: Compare               */
  86. #define SCSI_CMD_COPYANDVERIFY    0x3A    /* 10B: Copy and Verify       */
  87. #define SCSI_CMD_CHGEDEF        0x40    /* 10B: Change Definition     */
  88. #define SCSI_CMD_READSUBCHANNEL    0x42    /* 10B: Read Sub-Channel      */
  89. #define SCSI_CMD_READTOC        0x43    /* Read TOC from CD Audio     */
  90. #define SCSI_CMD_READHEADER        0x44    /* 10B: Read data block address header */
  91. #define SCSI_CMD_PLAYAUDIO10    0x45    /* Play CD Audio              */
  92. #define SCSI_CMD_PLAYAUDIOTRACKINDEX    0x48    /* Play CD Audio Track */
  93.  
  94. /* Sony CDU 561 / Sony CDU 8003 = Apple CD 300 specific commands      */
  95. #define SCSI_CMD_READCDDA        0xD8    /* 12B: read digital audio    */
  96. #define SCSI_CMD_READCDDAMSF    0xD9    /* 12B: read digital audio    */
  97.